第一张讲了些很基本的C/C++常识。
书中一些小的例子。
1 | printf("%.1f\n", 8/5); |
提示:(5 - 0.1)的过程是,5先变成了浮点数,然后浮点数 + 浮点数。
1 | // 1.1圆柱体的表面积 |
1 | // 1.2 三位数反转 |
1 | // 1.2 三位数反转 2 |
1 | // 1.3 变量交换 |
1 | // 1.3 变量交换 2 |
1 | // 1.3 变量交换 3 |
大部分时候,我们并不关心实现过程是怎样的,是为了解决问题。
多数竞赛采用黑盒测试,考察的是解决问题的能力。
1 | // 1.4 鸡兔同笼 |
1 | // 1.5 三整数排序 (错误) |
1 | // 1.5 三整数排序 2 |
错误的方案里面有2个问题:
1.当变量相等的情况出现,方案一就会出问题。如果要考虑相等的情况。
2.加=号是不够的,如果输入1 1 1,会输出6个1 1 1,因此需要用else if。
1 | // 1.5 三整数排序 3 |
1.5.2的实验:1
2
3
4
5
6
7
8
9
10
11 printf("%d\n", 11111 * 11111);
printf("%d\n", 111111 * 111111);
printf("%f\n", 11111.0 * 11111.0);
printf("%f\n", 1.0 / 0.0);
printf("%f\n", 0.0 / 0.0);
123454321
-539247567
123454321.000000
1.#INF00
-1.#IND00
1 | int a, b; |